Information processing apparatus and method for appropriately terminating processing

ABSTRACT

When termination of information processing is instructed, the entry of a password is requested and the password that is entered is identified. When the password that is input is a password for a manager, the system is shut down; when it is a password for a registered user, the client process is terminated; but when it is a password for a person other than those two, permission to end the processing is not granted. Thus, the type of end process that is performed can be controlled in accordance with the identity of a user. As for the client process, upon receiving an end instruction from a user the client internally performs a corresponding end process, instead of requesting that the process be performed by the server process.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to an information processingapparatus and to a method for appropriately terminating processing thatis currently being performed.

[0003] 2. Related Background Art

[0004] Conventionally, to terminate the use of a device, for example, acomputer performs a predetermined end process in accordance with an endinstruction. However, in an environment wherein multiple users canemploy a device, problems may arise if they freely terminate theprocessing that is currently being performed or the operation of thedevice.

[0005] For a client/server system, for example, there is not merely oneend process that is required in accordance with the situation, instead,there are multiple end processes, such as the termination of a clientprocess or the shutting down of a system. The termination of a clientprocess should be the responsibility of a client processing unit.

SUMMARY OF THE INVENTION

[0006] It is, therefore, one objective of the present invention toprovide an information processing apparatus and method for preventingthe execution of an end process that a user is not permitted to perform.

[0007] It is another objective of the present invention to provide aninformation processing apparatus and method for using a password tocontrol an end process.

[0008] It is an additional objective of the present invention to providean information processing apparatus and a method for appropriatelyterminating a client process in a client/server system.

[0009] It is a further objective of the present invention to provide aninformation processing apparatus and method for performing a specificprocess at a client processing unit in a client/server system.

[0010] According to one aspect, the present invention, which achievesthese objectives, relates to an information processing apparatuscomprising:

[0011] end instruction means for instructing termination of informationprocessing;

[0012] end processing means for performing an end process whentermination is instructed by the end instruction means;

[0013] input means for entering a password; and

[0014] control means for identifying the password and for controllingthe end process performed by the end processing means based on thepassword that is identified.

[0015] According to another aspect, the present invention, whichachieves these objectives, relates to an information processingapparatus comprising:

[0016] client means for, in accordance with an operation performed by auser, generating and transmitting a request for the performance of aprocess, and for receiving operating screen information and providingthe operating screen information to the user;

[0017] server means for interpreting the request and adding objectinformation to a database, and for generating and transmitting operatingscreen information to the client means; and

[0018] execution means for monitoring the database, and for detectingobject information that is to be processed and for processing the objectinformation,

[0019] wherein, in accordance with a specific operation selected by theuser, the client means internally performs a process, instead ofgenerating and transmitting a request for the performance of theprocess.

[0020] According to still another aspect, the present invention, whichachieves these objectives, relates to an information processing methodcomprising:

[0021] an end instruction step of instructing termination of informationprocessing;

[0022] an end processing step of performing an end process whentermination is instructed at the end instruction step;

[0023] an input step of entering a password; and

[0024] a control step of identifying the password, and of controllingthe end process at the end processing step based on the password that isidentified.

[0025] According to yet another aspect, the present invention, whichachieves these objectives, relates to an information processing methodcomprising:

[0026] a client process for generating and transmitting a request forperforming a process in accordance with an operation performed by auser;

[0027] a server process for interpreting the request and adding objectinformation to a database, and for generating and transmitting operatingscreen information to the client process; and

[0028] an execution process for monitoring the database and detectingobject information that is to be processed, and for processing theobject information,

[0029] wherein in the client process, the operating screen informationis received and provided for the user, and wherein, in accordance with aspecific operation selected by the user, a corresponding process isperformed by the client process, instead of a request for theperformance of the process being generated and transmitted.

[0030] According to a further aspect, the present invention, whichachieves these objectives, relates to a computer-readable storage mediumon which a program for controlling a computer is stored, the programcomprising codes for causing the computer to operate;

[0031] an end instruction step for instructing termination ofinformation processing;

[0032] an end processing step of performing an end process whentermination is instructed at the end instruction step;

[0033] an input step of entering a password; and

[0034] a control step of identifying the password and of controlling theend process at the end processing step based on the password that isidentified.

[0035] According to one further aspect, the present invention, whichachieves these objectives, relates to a computer-readable storage mediumon which a program for controlling a computer is stored, the programcomprising:

[0036] a client process for, in accordance with an operation performedby a user, generating and transmitting a request for the performance ofa process, and for receiving operating screen information and providingthe operating screen information to the user;

[0037] a server process for interpreting the request and adding objectinformation to a database, and for generating and transmitting operatingscreen information to the client process; and

[0038] an execution process for monitoring the database and fordetecting object information that is to be processed, and for processingthe object information,

[0039] wherein in accordance with a specific operation selected by theuser, a corresponding process is performed by the client process,instead of a request for the performance of the process being generatedand transmitted.

[0040] Other objectives and advantages, in addition to those discussedabove, will become apparent to those skilled in the art during thecourse of the description of a preferred embodiment of the inventionthat follows. In the description, reference is made to accompanyingdrawings, which form a part of the description and which illustrate anexample of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0041]FIG. 1 is a diagram showing the functional arrangement for oneembodiment of the present invention;

[0042]FIG. 2 is a diagram illustrating the system configurationaccording to the embodiment of the present invention;

[0043]FIG. 3 is a functional block diagram illustrating a printeraccording to the embodiment of the present invention;

[0044]FIG. 4 is a diagram showing an example screen for an initial menu;

[0045]FIG. 5 is a flowchart showing the processing that begins with theinitial menu screen;

[0046]FIG. 6 is a flowchart showing the login processing;

[0047]FIG. 7 is a diagram showing an example main menu;

[0048]FIG. 8 is a flowchart showing the processing that begins with themain menu;

[0049]FIG. 9 is a flowchart showing the end processing;

[0050]FIG. 10 is a flowchart showing the shutdown processing; and

[0051]FIG. 11 is a diagram showing an example end screen.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0052] The preferred embodiment of the present invention will now bedescribed while referring to the accompanying drawings.

[0053] A detailed explanation will be given for one embodiment of thepresent invention while referring to the drawings.

[0054] In FIG. 1 is shown the functional arrangement of the embodiment.The relationship existing between a user 101, a client 102, a server103, a database 104, and a daemon 105 is shown. The client 102 and theserver 103 may be provided either on the same device, or on separatedevices connected by a network.

[0055] When the user 101 performs a specific operation for the client102, the client 102 generates a request that corresponds to theoperation, and transmits it to the server 103. The server 103 interpretsthe received request, and communicates with the database 104 for thedeletion or the addition of a job, or to obtain data. As a result, theserver 103 prepares a corresponding HTML page as needed, and transmitsit to the client 102. The client 102 displays the received HTML page,and permits the user 101 to initiate a new operation.

[0056] Jobs stored in the database 104 are monitored by the daemon 105.The daemon 105 performs the printing, the transmission, or thenotification required for a job for which the performance condition hasbeen satisfied.

[0057]FIG. 2 is a diagram showing the system configuration according tothe embodiment.

[0058] In FIG. 2, various devices are connected to a network 201, anddata are exchanged across the network 201. A printer 202, which printsdata received via the network 201, includes an input/output operationunit 203. The input/output operation unit 203 provides various displaysfor a user, and accepts instructions from the user. A scanner 204 and amulti-function device 205 also include the same input/output operationunit. The scanner 204 optically reads data printed on paper, and themulti-function device 205 includes the functions both of the printer 202and of the scanner 204. A personal computer 206 creates documents andimages, and manages personal data, such as mail and a schedule for theuser.

[0059] The printer 202, the scanner 204, the multi-function device 205,and the personal computer 206 can each serve as the client and theserver described above.

[0060]FIG. 3 is a functional block diagram illustrating the printer 202according to the embodiment.

[0061] In FIG. 3, a touch panel 301 is used to display a printer statusand a menu screen for a user, who by touching the screen can select anitem listed on the menu. The user can also enter characters by using akeyboard that is displayed on the screen. Instead of the touch panel301, an ordinary display unit and a keyboard can be prepared.

[0062] A CPU 302 executes various programs, to include procedures thatwill be described later while referring to the flowcharts, and controlsthe individual sections connected by a system bus 308. A printing unit303 prints data on paper, etc. A communication unit 304 exchanges data,to include commands and statuses, with a desktop or with a scanner, orwith another printer connected across a network.

[0063] A ROM 305 is used to store fixed data and programs. A RAM 306 isused to temporarily store data and programs. A hard disk drive (HDD) 307is used to permanently store programs and data, and is employed as theabove described database 104. The system bus 308 is used as a medium forconnecting the above described sections, and for the exchange of data,addresses and control signals among these sections. The programs,including the procedures that will be described later while referring tothe flowcharts, may be stored in the ROM 305, or may be loaded from theHDD 307 into the RAM 306, as needed, before the processing has begun orwhile it is in progress.

[0064] In FIG. 4 is shown an example initial menu screen. FIG. 5 is aflowchart showing the processing that begins with the initial menuscreen. When jobs are present in a print queue, they are displayed as alist on the status screen. As information for each of the individualjobs, the name of the job and the name of the submitter are displayed

[0065] At step S501 a user selects a desired item from the initial menu.At step S502 the selected item is identified and a corresponding newscreen is displayed.

[0066] When “Device” is selected, at step S503 the device status isdisplayed. When “Back” or “Forward” is selected, at step S504 the screenthat preceded or that succeeds the current screen is displayed. When“End” is selected, at step S505 an end process is performed. When “NewInteraction” is selected, at step S506 a new process is performed. When“Help” is selected, at step S507 the help screen for the current stateis displayed.

[0067] “When Print URL” is selected, the screen is changed to a “PrintURL” screen. When, at step S515, a URL is indirectly entered or isdesignated by a reference, and “Go” is selected, at step S516information is obtained and previewed. At step S517 the contents of theinformation that have been confirmed are printed. The screen isthereafter returned to the initial menu screen.

[0068] When “Public Info (public information)” is selected, at step S515program control advances to the process for public information, and thescreen is changed to a “public information process” screen. When “GotoDevice (another device)” is selected, at step S512 a setup screen foraccessing another device is displayed, and the process for accessinganother device is performed.

[0069] In addition, a job in a print queue can be selected on theinitial screen. To select a job, a button displayed in front of the nameof the desired job is touched. When a specific job is thus selected, atstep S513 a password input screen is displayed. A password is thenentered, and when it matches the password for the selected job, a setupscreen is displayed for a process that corresponds to the job that wasselected from the print queue.

[0070] Following this, at step S514 an action type is selected for theselected job, and at step S515 an appropriate time for the action typeis set. When “Print Later” is selected as an action type, at step S517the print time can be designated. When “Hold Here” is selected, at stepS518 the length of time for the holding period can be set.

[0071] When “Pause/Restart Printing” is selected, at step S519 theprinting is temporarily halted, and the screen is returned to theinitial menu screen to wait for the selection of “Pause/RestartPrinting” (for the depression of the same button). When “CancelPrinting” is selected, at step S520 a print job is deleted from theprint queue, and “Cancel” is recorded in the history as the action takenfor this job. The screen is then returned to the initial screen.

[0072]FIG. 6 is a flowchart showing the login processing performed whena new process is selected on the initial menu. At step S601 a “Login”screen is displayed, and the identifier that a user has entered isexamined. When a login is permitted, at step S602 a check is performedto determine whether there are any effective jobs (pending jobs) presentfor the user who has just logged in. If there are such unprocessed jobs,at step S604 a list of them is displayed and an action for a selectedjob is performed. When there are no unprocessed jobs, at step S603 themain menu is displayed to initiate the performance of the processingthat begins with the main menu, which will be described later whilereferring to FIG. 8.

[0073]FIG. 7 is a diagram showing an example main menu, and FIG. 8 is aflowchart showing the processing that begins with the main menu. In theflowchart, the shifting of the screen from the main menu and the flow ofthe process are shown. At step S801 the main menu is displayed, and atstep S802 a process (action) is selected.

[0074] When “Logout” is selected at step S802, at step S804 the logoutprocess is performed. When “Help” is selected, at step S805 the helpprocess is performed. When “Search” is selected, at step S806 the searchprocess is performed. When “Print” is selected, at step S807 theprinting process is performed. When “Send” is selected, at step S808 thetransmission process is performed. When “Delete” is selected, at stepS809 the deletion process is performed. When “Set Instructions” isselected, at step S810 the command setup process is performed. And when“Reschedule” is selected, at step S811 the rescheduling process isperformed.

[0075] When the addition of public information is selected, at step S812public information is added. When “Goto Device” is selected, at stepS813 another device is accessed. When “Goto My Desktop” is selected, atstep S814 the desktop is accessed. When “Device” is selected, at stepS815 the status of the apparatus is displayed. And when “End” isselected, at step S816 the end process is performed that will bedescribed in detail while referring to FIG. 9.

[0076]FIG. 9 is a flowchart showing the end processing performed whenthe End button displayed in the upper right of each operating screen isselected.

[0077] When a user enters information on any operating screen displayedby the client, the client processing unit determines whether theoperation selected by the user should be handled by the client or by theserver.

[0078] In this embodiment, the operating buttons displayed on theoperating screen are displayed on a screen holding an HTML page receivedby the server. When the user selects one of the buttons, in the clientprocess the selected operation is converted into a corresponding HTMLrequest, which is transmitted to the server. The server then performs acorresponding process.

[0079] The End button in the upper right of each operating screen is onethat is written over the HTML page by the client side. When the userselects the End button, therefore, it is assumed that this processshould be handled by the client, and the end process in FIG. 9 isinitiated by the client.

[0080] When the end process is initiated, at step S901 the end screen isdisplayed. FIG. 11 is a diagram showing an example end screen. At stepS902 the contents of the operation selected by the user are obtained andat step S903 they are analyzed. At step S904 program control branches inaccordance with the operation type.

[0081] When a password is input by the user, at step S905 “*” isdisplayed on the screen in order to affirm that the input by theoperator was accepted. At step S906 the operator input password datathat are internally held are updated. Program control then returns tostep S902 to accept a new user operation.

[0082] When “Restart” is selected by the user, at step S907 the clientprocess that is currently being performed is terminated and is thenrestarted. The processing is thereafter terminated.

[0083] When “Shut Down” is selected by the user, at step S908 theshutdown process in FIG. 10 is performed, and the processing isthereafter terminated.

[0084]FIG. 10 is a flowchart showing the shutdown processing. For thisprocessing, a different operation is performed in accordance with apassword entered by the user.

[0085] When the shutdown process is initiated, at step S1001 programcontrol branches in accordance with the password that is entered.

[0086] When the password entered by the user matches the password for ashutdown system that is set in advance by a manager, at step S1002 thesystem is shut down, and the processing is terminated.

[0087] When the password entered by the user matches the password for“leave to OS” that is set in advance by the manager, at step S1003 onlythe client process is terminated, and the control right is returned tothe OS. The processing is thereafter terminated.

[0088] When the password entered by the user does not match eitherpassword that is set in advance by the manager, at step S1004 an errormessage is displayed, and the processing is thereafter terminated. When“Cancel” is selected by the user, the processing is terminated withoutany further process being performed.

[0089] With this arrangement, for example, only the manger can shut downthe system, and only a specific user can terminate the client process.

[0090] The present invention may be applied for an apparatus constitutedby a single device, or for a system constituted by a plurality ofapparatuses. For implementing the present invention, a storage medium onwhich is stored software program code for implementing the functionsdescribed in the above embodiment may be supplied to an apparatus or toa system, and the computer in the apparatus or in the system may readthe program code from the storage medium.

[0091] In addition, the scope of the present invention includes not onlya case where the functions in the embodiment can be performed whenprogram code is read and executed by the computer, but also a casewhere, in accordance with an instruction contained in the program code,an OS running on the computer, etc., can perform the processing requiredto accomplish the functions included in the above embodiment.

[0092] The storage medium on which such program code is recordedconstitutes the present invention.

[0093] Although the present invention has been described in itspreferred form with a certain degree of particularity, many apparentlywidely different embodiments of the invention can be made withoutdeparting from the spirit and the scope thereof. It is to be understoodthat the invention is not limited to the specific embodiments describedherein, except as defined in the appended claims.

What is claimed is:
 1. An information processing apparatus comprising:end instruction means for instructing termination of informationprocessing; end processing means for performing an end process whentermination is instructed by said end instruction means; input means forentering a password; and control means for identifying said password andfor controlling said end process performed by said end processing meansbased on said password that is identified.
 2. An information processingapparatus according to claim 1, wherein, in accordance with saidpassword that is identified, said control means determines whether saidend process is to be performed.
 3. An information processing apparatusaccording to claim 1, wherein said end processing means is capable ofexecuting multiple types of end processes, and wherein said controlmeans permits said end processing means to perform the type of endprocess that corresponds to said password that is identified.
 4. Aninformation processing apparatus according to claim 3, wherein saidmultiple types of end processes include a process for terminating theoperation of said information processing apparatus.
 5. An informationprocessing apparatus according to claim 4, wherein, when said passwordthat is identified is a password for a manager, said control meanspermits said end processing means to perform said process forterminating the operation of said information processing apparatus. 6.An information processing apparatus according to claim 3, wherein saidmultiple types of said end processes include a recovery process forterminating a program that is being executed and for returning controlto an operating system.
 7. An information processing apparatus accordingto claim 6, wherein, when said password that is identified is a passwordfor a specific user, said control means permits said end processingmeans to perform said recovery process.
 8. An information processingapparatus according to claim 1, wherein said information processingincludes the reading of information or the printing of information. 9.An information processing apparatus according to claim 1, furthercomprising: client means for, in accordance with an operation selectedby a user, either performing a process or generating and transmitting arequest for the performance of a process, and for generating orreceiving operating screen information and for providing said user saidoperating screen information; server means for interpreting said requestand adding object information to a database, and for generating andtransmitting operating screen information to said client means; andexecution means for monitoring said database and for detecting objectinformation that is to be processed, and for processing said objectinformation, wherein said client means includes said end processingmeans, and generates and provides, for said user, operating screeninformation for said end process.
 10. An information processingapparatus according to claim 9, wherein said client means synthesizessaid operating screen information generated by said client means withsaid operating screen information received from said server means, andprovides said user the resultant information.
 11. An informationprocessing apparatus according to claim 10, wherein said client meansdetermines whether a process is to be performed or whether a performancerequest is to be generated and transmitted, in accordance with whethersaid operating screen information concerning the operation selected bysaid user is generated by said client means, or is received from saidserver means.
 12. An information processing apparatus comprising: clientmeans for, in accordance with an operation performed by a user,generating and transmitting a request for the performance of a process,and for receiving operating screen information and providing saidoperating screen information to said user; server means for interpretingsaid request and adding object information to a database, and forgenerating and transmitting operating screen information to said clientmeans; and execution means for monitoring said database, and fordetecting object information that is to be processed and for processingsaid object information, wherein, in accordance with a specificoperation selected by said user, said client means internally performs aprocess, instead of generating and transmitting a request for theperformance of said process.
 13. An information processing apparatusaccording to claim 12, wherein said client means generates operatingscreen information for a process performed by said client means, andprovides said user said operating screen information.
 14. An informationprocessing apparatus according to claim 13, wherein said client meanssynthesizes said operating screen information generated by said clientmeans with said operating screen information received from said servermeans, and provides said user the resultant information.
 15. Aninformation processing apparatus according to claim 14, wherein saidclient means determines whether a process is to be performed or whethera performance request is to be generated and transmitted, in accordancewith whether said operating screen information concerning the operationselected by said user is generated by said client means, or is receivedfrom said server means.
 16. An information processing apparatusaccording to claim 12, wherein said execution means performs the readingof information or the printing of information.
 17. An informationprocessing method comprising: an end instruction step of instructingtermination of information processing; an end processing step ofperforming an end process when termination is instructed at said endinstruction step; an input step of entering a password; and a controlstep of identifying said password, and of controlling said end processat said end processing step based on said password that is identified.18. An information processing method according to claim 17, wherein, inaccordance with said password that is identified, whether said endprocess is to be performed is determined at said control step.
 19. Aninformation processing method according to claim 17, wherein at said endprocessing step, multiple types of end processes are capable of beingexecuted, and wherein, at said control step, said end processing step iscontrolled to perform the type of end process that corresponds to saidpassword that is identified.
 20. An information processing methodaccording to claim 19, wherein said multiple types of end processesinclude a process for terminating the operation of an apparatus thatperforms said information processing.
 21. An information processingmethod according to claim 20, wherein, when said password that isidentified is a password for a manager, at said control step, said endprocessing step is controlled to perform said process for terminatingthe operation of said apparatus.
 22. An information processing methodaccording to claim 19, wherein said multiple types of said end processesinclude a recovery process for terminating a program that is beingexecuted and for returning control to an operating system.
 23. Aninformation processing method according to claim 22, wherein, when saidpassword that is identified is a password for a specific user, at saidcontrol step, said end processing step is controlled to perform saidrecovery process.
 24. An information processing method according toclaim 17, wherein said information processing includes the reading ofinformation or the printing of information.
 25. An informationprocessing method according to claim 17, further comprising: a requeststep of generating a n d transmitting a performance request in a clientprocess in accordance with an operation selected by a user; a screentransmission step of, in a server process, interpreting said request andadding object information to a database, and of generating andtransmitting operating screen information to said client process; anexecution step of, in an execution process, monitoring said database anddetecting object information that is to be processed, and of processingsaid object information; a provision step of providing said user saidoperating screen information in said client process, wherein said endprocessing step is performed in said client process, and said operatingscreen information obtained at said end processing step is generated bysaid client process.
 26. An information processing method according toclaim 25, wherein, in said client process, said operating screeninformation generated by said client process is synthesized with saidoperating screen information received from said server process, and saiduser is provided the resultant information.
 27. An informationprocessing method according to claim 25, wherein, in said clientprocess, whether a process is to be performed or whether a performancerequest is to be generated and transmitted is determined in accordancewith whether said operating screen information concerning the operationselected by said user is generated by said client process, or isreceived from said server process.
 28. An information processing methodcomprising the steps of: a client process for generating andtransmitting a request for performing a process in accordance with anoperation performed by a user; a server process for interpreting saidrequest and adding object information to a database, and for generatingand transmitting operating screen information to said client process;and an execution process for monitoring said database and detectingobject information that is to be processed, and for processing saidobject information, wherein in said client process, said operatingscreen information is received and provided for said user, and wherein,in accordance with a specific operation selected by said user, acorresponding process is performed by said client process, instead of arequest for the performance of said process being generated andtransmitted.
 29. An information processing method according to claim 28,wherein said operating screen information for a process performed insaid client process is generated by said client process and is providedsaid user.
 30. An information processing method according to claim 28,wherein, in said client process, said operating screen informationgenerated by said client process is synthesized with said operatingscreen information received from said server process, and said user isprovided the resultant information.
 31. An information processing methodaccording to claim 30, wherein said specific operation is an operationfor obtaining said operating screen information generated by said clientprocess.
 32. An information processing method according to claim 28,wherein the reading of information or the printing of information isperformed at said execution step.
 33. A computer-readable storage mediumon which a program for controlling a computer is stored, said programcomprising codes for causing the computer to perform; an end instructionstep for instructing termination of information processing; an endprocessing step of performing an end process when termination isinstructed at said end instruction step; an input step of entering apassword; and a control step of identifying said password and ofcontrolling said end process at said end processing step based on saidpassword that is identified.
 34. A computer-readable storage medium onwhich a program for controlling a computer is stored, said programcomprising: a client process for, in accordance with an operationperformed by a user, generating and transmitting a request for theperformance of a process, and for receiving operating screen informationand providing said operating screen information to said user; a serverprocess for interpreting said request and adding object information to adatabase, and for generating and transmitting operating screeninformation to said client process; and an execution process formonitoring said database and for detecting object information that is tobe processed, and for processing said object information, wherein inaccordance with a specific operation selected by said user, acorresponding process is performed by said client process, instead of arequest for the performance of said process being generated andtransmitted.